//1768. 交替合并字符串

//给你两个字符串 word1 和 word2 。
//请你从 word1 开始，通过交替添加字母来合并字符串。
//如果一个字符串比另一个字符串长，就将多出来的字母追加到合并后字符串的末尾。

//返回 合并后的字符串 。

#include <stdio.h>

char * mergeAlternately(char * word1, char * word2) 
{
    int len1 = strlen(word1);
    int len2 = strlen(word2);

    char* res = malloc((len1 + len2 + 1) * sizeof(char));
    if (!res) return NULL; // 处理内存分配失败的情况

    memset(res, '\0', len1 + len2 + 1);    // 初始化内存为0

    int index = 0;
    int iter = 0;
    while (index < len1 || index < len2) 
    {
        if (index < len1) 
        {
            res[iter++] = word1[index];
        }
        if (index < len2) 
        {
            res[iter++] = word2[index];
        }
        index++;
    }
    return res;
}